* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

img {
  vertical-align: middle;
  border: none;
  max-width: 100%; }

a {
  color: #ffffff;
  text-decoration: none; }

ul {
  padding: 0;
  margin: 0; }

li {
  margin: 0;
  padding: 0;
  vertical-align: middle;
  list-style: none; }

html,
body {
  width: 100%;
  height: 100%;
  overflow: hidden; }

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font: normal 12px/1.5 "Helvetica Neue", Helvetica, Arial, STHeiTi, "Microsoft Yahei", sans-serif;
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none; }

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-weight: 300;
}

body ::-webkit-input-placeholder {
  /* WebKit browsers */
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 300;
  color: rgb(50, 50, 50);
}
body :-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  font-family: 'Source Sans Pro', sans-serif;
  opacity: 1;
  color: rgb(50, 50, 50);
  font-weight: 300;
}
body ::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  font-family: 'Source Sans Pro', sans-serif;
  opacity: 1;
  color: rgb(50, 50, 50);
  font-weight: 300;
}
body :-ms-input-placeholder {
  /* Internet Explorer 10+ */
  font-family: 'Source Sans Pro', sans-serif;
  color: rgb(50, 50, 50);
  font-weight: 300;
}

#app-root{
  width: 100%;
  height: 100%;
}
.whole_page{
   width: 100%;
  height: 100%;
}
.fl{
  float:left;
}
.fr{
  float:right;
}

.p_r{
  position: relative;
}

.u-tc{
  text-align: center;
}
.mt-5{
  margin-top: 5px;
}
.mt-8{
  margin-top: 8px;
}
.mt-10{
  margin-top: 10px;
}
.mt-15{
  margin-top: 15px;
}
.mt-20{
  margin-top: 20px;
}
.mb-20{
  margin-bottom: 20px;
}
._mt-10{
  margin-top: -10px;
}

.music-icon{
  position: absolute;
  width: 30px;
  height: 30px;
  margin-bottom: -15px;
  margin-left: -15px;
  z-index: 6;
  background-image: url(../images/music-icon.png);
  background-size: contain;
  background-position: -1px -1px;
  background-color: rgba(107, 107, 107, 0.24);
  top: 30px;
  right: 15px;
  border-radius: 50%;
  border: 2px solid white;
  opacity: .4;
}
.music-icon.true{
  display:block;
}
@keyframes rotating {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0); }

  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);  }
}
@-webkit-keyframes rotating {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0); }

  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);  }
}
.on{
  opacity: .75;
  animation: rotating 1.6s linear infinite;
  -webkit-animation: rotating 1.6s linear infinite;
  -moz-animation: rotating 1.6s linear infinite;
  -o-animation: rotating 1.6s linear infinite;
}

.mask{
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 12;
  background: rgba(0, 0, 0, 0.29);

  &.hidden{
    display: none;
  }
  &.shown{
    display: block;
  }
}

.tip_section{
  position: absolute;
  width: 60%;
  height: 100px;
  z-index: 13;
  background: #fff;
  left: 50%;
  margin-left: -30%;
  top: 50%;
  transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  border-radius: 10px;
  text-align: center;
  line-height: 64px;
  color: rgb(215, 141, 7);
  font-weight: bold;
}
.tip_btn{
  position: absolute;
  width: 100px;
  height: 30px;
  background: rgb(78, 199, 19);
  color: #fff;
  border-radius: 4px;
  left: 50%;
  bottom: 12px;
  margin-left: -50px;
  text-align: center;
  line-height: 30px;
  font-weight: bold;
}


.tree1{
  position: absolute;
  top: -40px;
  left: 20%;
  width: 28px;
  height: 30px;
  background: url(../images/tree_icon1.png) no-repeat;
  z-index: 3;
  background-size: cover;
  animation: tree_animate 15s linear 0s infinite normal;
  -moz-animation: tree_animate 15s linear 0s infinite normal;
  -webkit-animation: tree_animate 15s linear 0s infinite normal;
  -o-animation: tree_animate 15s linear 0s infinite normal;
}
.tree2{
  position: absolute;
  left: 40%;
  top: -40px;
  width: 25px;
  height: 17px;
  background: url(../images/tree_icon2.png) no-repeat;
  z-index: 3;
  background-size: cover;
  animation: tree_animate 14s linear 3s infinite normal;
  -moz-animation: tree_animate 14s linear 3s infinite normal;
  -webkit-animation: tree_animate 14s linear 3s infinite normal;
  -o-animation: tree_animate 14s linear 3s infinite normal;
}
.tree3{
  position: absolute;
  left: 50%;
  top: -50px;
  width: 16px;
  height: 21px;
  background: url(../images/tree_icon3.png) no-repeat;
  z-index: 3;
  background-size: cover;
  animation: tree_animate 15s linear 5s infinite normal;
  -moz-animation: tree_animate 15s linear 5s infinite normal;
  -webkit-animation: tree_animate 15s linear 5s infinite normal;
  -o-animation: tree_animate 15s linear 5s infinite normal;
}
.tree4{
  position: absolute;
  left: 60%;
  top: -10%;
  width: 16px;
  height: 21px;
  background: url(../images/tree_icon4.png) no-repeat;
  z-index: 3;
  background-size: cover;
  animation: tree_animate 12s linear 7s infinite normal;
  -moz-animation: tree_animate 12s linear 7s infinite normal;
  -webkit-animation: tree_animate 12s linear 7s infinite normal;
  -o-animation: tree_animate 12s linear 7s infinite normal;
}


@keyframes tree_animate {
  from {
   top: 40px;
  }
  to {
    top: 110%;
  }
}
@-webkit-keyframes tree_animate {
  from {
    top: 40px;
  }
  to {
    top: 110%;
  }
}